using System;
using System.Collections.Generic;
using System.Text;

using SlimDX;
using Barrage.Global;

namespace Barrage.Elements.Cameras
{
    /// <summary>
    /// Camera prepared for postprocess scenes, with an orthographic projection and a view matrix that allows to easily place fullscreen quads
    /// </summary>
    public class PostprocessCamera: Camera
    {
        /// <summary>
        /// \internal This camera position is fixed in the [0,0,-5] coordinates
        /// </summary>
        public override Vector3 Position { get { return new Vector3(0, 0, -5); } }
        /// <summary>
        /// Constructor. Inits matrices
        /// </summary>
        public PostprocessCamera()
        {
            projection = Matrix.OrthoOffCenterLH(0, 1, 0, 1, 0.01f, 1000);
            motion.Matrix = Matrix.LookAtLH(new Vector3(0, 0, -5), Vector3.Zero, Vector3.UnitY);
        }
    }
}
